/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucue.ptc.gco.dao;

import edu.ucue.ptc.gco.mdl.Cliente;
import edu.ucue.ptc.gco.mdl.Direccion;
import edu.ucue.ptc.gco.mdl.Ruta;
import edu.ucue.ptc.gco.mdl.Pedido;
import edu.ucue.ptc.gco.util.AtributoInvalidoException;
import edu.ucue.ptc.gco.util.ValidarAtributoUtil;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author wilo
 */
@Stateless
public class PedidoDAO implements PedidoDAOLocal {

    @PersistenceContext(unitName="edu.ucue.gped_gestionpedidosee-ejb_ejb_1.0-SNAPSHOTPU")    
    private EntityManager entityManager;
   
    @Override
    public void crear(Pedido pedido) {
       
        int a=0;
        
        entityManager.persist(pedido);
    }

    @Override
    public void actualizar(Pedido visita) {
        entityManager.merge(visita);
    }

    @Override
    public void eliminar(Pedido visita) {
        int g=0;
        Pedido obtenerPorId = obtenerPorId(visita.getIdPedido());
        entityManager.remove(obtenerPorId);
    }

    @Override
    public List<Pedido> listarTodos() {
        Query query = entityManager.createQuery("select c from Pedido c");
        
        return query.getResultList();
    }

    @Override
    public Pedido obtenerPorId(int idPedido) {
        Query query = entityManager.createQuery("select c from Pedido c "
                + "where c.idPedido = :pidPedido");
        query.setParameter("pidPedido", idPedido);
        query.setMaxResults(1);
        List<Pedido> visita = query.getResultList();
        if (visita == null || visita.isEmpty()) {
            return null;
        }
        return visita.get(0);
    }

    @Override
    public void eliminarc(String idVisita) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
    @Override
    public void anularPedido(Pedido pedido)
    {
        
    }
}
